#coding:utf-8
# parse gps file, gen a txt file contains filename,lat,lon

# 此脚本从image_header_decoder解析出的gps文件中读取图片路径、gps信息，保存在一个新的文件中，由于
# 如果image_header_decoder是在PC上运行，它解析出的图片路径是PC上的路径，此脚本提供一个--base参数
# 将最后保存的图片路径替换为xu4上的路径
# gps_path: 从图像中解析出来的gps文件
# out_f: 本代码输出的文件
# base: 输出的文件中，图片的路径
import os
from optparse import OptionParser
from ipdb import set_trace

def parse_args():
    parser = OptionParser()
    parser.add_option('--gps_path', dest='gps_path', default = None, help="gps file path")
    parser.add_option('--out_f', dest='out_f', default = None, help="save file name")
    parser.add_option('--base', dest='base', default=None, help='base path of images in xu4')
    options, args = parser.parse_args()
    return options

if __name__ == '__main__':

    opts = parse_args()
    with open(opts.gps_path) as f:
        gps_lines = f.readlines()
    output_lines = []
    for line in gps_lines:
        img_path, rest = line.strip().split(':')
        img_path = os.path.join(opts.base, img_path.split('/')[-1])
        lat, lon = rest.split(',')[1:3]
        output_lines.append('%s,%s,%s\n' % (img_path, lat, lon))

    with open(opts.out_f, 'w') as f:
        f.writelines(output_lines) 



